package javaJob.exercise.primary.array;

public class primary4 {
    public static void main(String[] args) {
        int[] nums={1,1,1,3,3,4,3,2,4,2};
        int[] nums1={1,2,3,4};
        int[] nums2={1,2,3,1};
        System.out.println(containsDuplicate(nums2));

    }
    static boolean containsDuplicate(int[] nums) {
        //标准答案
        if(nums.length==1) return false;
        int min=nums[0],max=nums[0];
        for (int i = 1; i < nums.length; i++) {
            if(min>nums[i]) {
                min=nums[i];
                continue;
            }
            if(max<nums[i]){
                max=nums[i];
                continue;
            }
            for (int j = 0; j < i; j++) {
                if(nums[i]==nums[j]) return true;
            }
        }
        return false;

        //自己写（时间复杂度过高）
//        for (int i=0;i<nums.length;i++){
//            for (int j=i+1;j<nums.length;j++){
//                if (nums[i]==nums[j]){
//                    return true;
//                }
//            }
//
//        }
//        int i=0;
//        while(i!=nums.length){
//            int temp=nums[i];
//            for (int j=i+1,index=nums.length;j<index;j++,index--){
//                if (temp==nums[j] || temp==nums[index-1]){
//                    return true;
//                }
//
//            }
//            i=i+1;
//        }
//        return false;

    }
//    static boolean containsDuplicate(int[] nums) {
//        int tag=-1;
//        if(nums.length==0){
//            return false;
//        }
//        else {
//            for (int i=0;i<nums.length;i++){
//                if (tag==1){
//                    break;
//                }
//                for (int j=i+1;j<nums.length;j++){
//                    if (nums[i]==nums[j]){
//                        tag=1;
//                        break;
//                    }else {
//                        tag=0;
//                    }
//                }
//
//            }
//            if (tag==1){
//                return true;
//            }
//            else {
//                return false;
//            }
//        }
//
//    }
    //局部变量一定要保证初始化，才能用或者返回
//    static boolean containsDuplicate(int[] nums) {
//        boolean tag;
//        for (int i=0;i<nums.length;i++){
//            System.out.println(nums[i]);
//            for (int j=i+1;j<nums.length;j++){
//                System.out.println(nums[j]);
//                if (nums[i]==nums[j]){
//                    tag=true;
//                    break;
//                }else {
//                    tag=false;
//                }
//            }
//
//        }
//        return tag;
//
//    }
}
